import request from '@/utils/request'
import { parseStrEmpty } from "@/utils/ruoyi";
import { M, C } from '@/api/apiPrefix'
// 查询用户列表
export function listUser(query) {
    return request({
        url: `/${M.system}/${C.user}/list`,
        method: 'get',
        params: query
    })
}

// 查询用户详细
export function getUser(userId) {
    return request({
        url: `/${M.system}/${C.user}/${parseStrEmpty(userId)}`,
        method: 'get'
    })
}

// 新增用户
export function addUser(data) {
    return request({
        url: `/${M.system}/${C.user}`,
        method: 'post',
        data: data
    })
}

// 修改用户
export function updateUser(data) {
    return request({
        url: `/${M.system}/${C.user}`,
        method: 'put',
        data: data
    })
}

// 删除用户
export function delUser(userId) {
    return request({
        url: `/${M.system}/${C.user}/${userId}`,
        method: 'delete'
    })
}

// 用户密码重置
export function resetUserPwd(userId, password) {
    const data = {
        userId,
        password
    }
    return request({
        url: `/${M.system}/${C.user}/resetPwd`,
        method: 'put',
        data: data
    })
}

// 用户状态修改
export function changeUserStatus(userId, status) {
    const data = {
        userId,
        status
    }
    return request({
        url: `/${M.system}/${C.user}/changeStatus`,
        method: 'put',
        data: data
    })
}

// 查询用户个人信息
export function getUserProfile() {
    return request({
        url: `/${M.system}/${C.user}/profile`,
        method: 'get'
    })
}

// 修改用户个人信息
export function updateUserProfile(data) {
    return request({
        url: `/${M.system}/${C.user}/profile`,
        method: 'put',
        data: data
    })
}

// 用户密码重置
export function updateUserPwd(oldPassword, newPassword) {
    const data = {
        oldPassword,
        newPassword
    }
    return request({
        url: `/${M.system}/${C.user}/profile/updatePwd`,
        method: 'put',
        data: data
    })
}

// 用户头像上传
export function uploadAvatar(data) {
    return request({
        url: `/${M.system}/${C.user}/profile/avatar`,
        headers: {
            'Content-Type': 'multipart/form-data', // 显式设置 Content-Type
        },
        method: 'post',
        data
    })
}

// 查询授权角色
export function getAuthRole(userId) {
    return request({
        url: `/${M.system}/${C.user}/authRole/${userId}`,
        method: 'get'
    })
}

// 保存授权角色
export function updateAuthRole(data) {
    return request({
        url: `/${M.system}/${C.user}/authRole`,
        method: 'put',
        params: data
    })
}

// 查询部门下拉树结构
export function deptTreeSelect() {
    return request({
        url: `/${M.system}/${C.user}/deptTree`,
        method: 'get'
    })
}
